<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>RaspBerryPi power control: GPIO register access</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">RaspBerryPi power control
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GPIO register access</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf866b136c0a9fd4cca4065ce51eb4495"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gaf866b136c0a9fd4cca4065ce51eb4495">bcm2835_gpio_fsel</a> (uint8_t pin, uint8_t mode)</td></tr>
<tr class="separator:gaf866b136c0a9fd4cca4065ce51eb4495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2edcdd8eecf3a004ea771669c4e66959"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga2edcdd8eecf3a004ea771669c4e66959">bcm2835_gpio_set</a> (uint8_t pin)</td></tr>
<tr class="separator:ga2edcdd8eecf3a004ea771669c4e66959"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafea3acccb00e21160b510f440a33e5e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gafea3acccb00e21160b510f440a33e5e0">bcm2835_gpio_clr</a> (uint8_t pin)</td></tr>
<tr class="separator:gafea3acccb00e21160b510f440a33e5e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga693becf47034d3b2d8ed0ac4e74de173"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga693becf47034d3b2d8ed0ac4e74de173">bcm2835_gpio_lev</a> (uint8_t pin)</td></tr>
<tr class="separator:ga693becf47034d3b2d8ed0ac4e74de173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41128b1ec95d00329f7f399b56b59c19"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga41128b1ec95d00329f7f399b56b59c19">bcm2835_gpio_eds</a> (uint8_t pin)</td></tr>
<tr class="separator:ga41128b1ec95d00329f7f399b56b59c19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc7458bd0de6fb2de781c8337c1cffb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gabc7458bd0de6fb2de781c8337c1cffb1">bcm2835_gpio_set_eds</a> (uint8_t pin)</td></tr>
<tr class="separator:gabc7458bd0de6fb2de781c8337c1cffb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b70fa96491b9b1d9b3fb21bfefe2fd7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga5b70fa96491b9b1d9b3fb21bfefe2fd7">bcm2835_gpio_ren</a> (uint8_t pin)</td></tr>
<tr class="separator:ga5b70fa96491b9b1d9b3fb21bfefe2fd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5826edb1b17dd9095fa3bcae5ded485"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gaa5826edb1b17dd9095fa3bcae5ded485">bcm2835_gpio_clr_ren</a> (uint8_t pin)</td></tr>
<tr class="separator:gaa5826edb1b17dd9095fa3bcae5ded485"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9ea2f8c63f0330f12e1b24444d92e50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gac9ea2f8c63f0330f12e1b24444d92e50">bcm2835_gpio_fen</a> (uint8_t pin)</td></tr>
<tr class="separator:gac9ea2f8c63f0330f12e1b24444d92e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga196b61d8bf334be6acec590de6dc8f88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga196b61d8bf334be6acec590de6dc8f88">bcm2835_gpio_clr_fen</a> (uint8_t pin)</td></tr>
<tr class="separator:ga196b61d8bf334be6acec590de6dc8f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cb94aef80b49335057e338d71e46608"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga2cb94aef80b49335057e338d71e46608">bcm2835_gpio_hen</a> (uint8_t pin)</td></tr>
<tr class="separator:ga2cb94aef80b49335057e338d71e46608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c3b5297f5c2aeb5d2046a5b6de15d96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga3c3b5297f5c2aeb5d2046a5b6de15d96">bcm2835_gpio_clr_hen</a> (uint8_t pin)</td></tr>
<tr class="separator:ga3c3b5297f5c2aeb5d2046a5b6de15d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e990d48db929445ac3e899ca0f5ed07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga8e990d48db929445ac3e899ca0f5ed07">bcm2835_gpio_len</a> (uint8_t pin)</td></tr>
<tr class="separator:ga8e990d48db929445ac3e899ca0f5ed07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3b51f656f5495dad715ff3c01417aea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gac3b51f656f5495dad715ff3c01417aea">bcm2835_gpio_clr_len</a> (uint8_t pin)</td></tr>
<tr class="separator:gac3b51f656f5495dad715ff3c01417aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa77a0e0d39a6b4423419a16055ce71cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gaa77a0e0d39a6b4423419a16055ce71cc">bcm2835_gpio_aren</a> (uint8_t pin)</td></tr>
<tr class="separator:gaa77a0e0d39a6b4423419a16055ce71cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f3e122871853b34d97b65284cf7cc47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga6f3e122871853b34d97b65284cf7cc47">bcm2835_gpio_clr_aren</a> (uint8_t pin)</td></tr>
<tr class="separator:ga6f3e122871853b34d97b65284cf7cc47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e1f1686b60043c00327255e523d98f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga7e1f1686b60043c00327255e523d98f6">bcm2835_gpio_afen</a> (uint8_t pin)</td></tr>
<tr class="separator:ga7e1f1686b60043c00327255e523d98f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ec8bf224e25ed395d4eecf3ad308ca3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga8ec8bf224e25ed395d4eecf3ad308ca3">bcm2835_gpio_clr_afen</a> (uint8_t pin)</td></tr>
<tr class="separator:ga8ec8bf224e25ed395d4eecf3ad308ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03b93e27d85686cc295f46d34776c57f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga03b93e27d85686cc295f46d34776c57f">bcm2835_gpio_pud</a> (uint8_t pud)</td></tr>
<tr class="separator:ga03b93e27d85686cc295f46d34776c57f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga260327891497441ac1498f3280c055ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga260327891497441ac1498f3280c055ed">bcm2835_gpio_pudclk</a> (uint8_t pin, uint8_t on)</td></tr>
<tr class="separator:ga260327891497441ac1498f3280c055ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba51cd52ba75cbc9b03f3d629ad931a1"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gaba51cd52ba75cbc9b03f3d629ad931a1">bcm2835_gpio_pad</a> (uint8_t group)</td></tr>
<tr class="separator:gaba51cd52ba75cbc9b03f3d629ad931a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac69a029acceb17691826650d8f188cd8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gac69a029acceb17691826650d8f188cd8">bcm2835_gpio_set_pad</a> (uint8_t group, uint32_t control)</td></tr>
<tr class="separator:gac69a029acceb17691826650d8f188cd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ffbe079732a995cfacd691f677d9789"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga3ffbe079732a995cfacd691f677d9789">bcm2835_delay</a> (unsigned int <a class="el" href="wiringPi_8h.html#a941a22cb7e0f6429fe40f91e83ead3d9">millis</a>)</td></tr>
<tr class="separator:ga3ffbe079732a995cfacd691f677d9789"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae49c7d58397edb0200d171c8a47b272b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gae49c7d58397edb0200d171c8a47b272b">bcm2835_delayMicroseconds</a> (unsigned int micros)</td></tr>
<tr class="separator:gae49c7d58397edb0200d171c8a47b272b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22f9b05d8edda3ef57cd58728e9c3baa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#ga22f9b05d8edda3ef57cd58728e9c3baa">bcm2835_gpio_write</a> (uint8_t pin, uint8_t on)</td></tr>
<tr class="separator:ga22f9b05d8edda3ef57cd58728e9c3baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa69ba311c1cde834d8a2beb8ab5f745a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio.html#gaa69ba311c1cde834d8a2beb8ab5f745a">bcm2835_gpio_set_pud</a> (uint8_t pin, uint8_t pud)</td></tr>
<tr class="separator:gaa69ba311c1cde834d8a2beb8ab5f745a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>These functions allow you to control the GPIO interface. You can set the function of each GPIO pin, read the input state and set the output state. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3ffbe079732a995cfacd691f677d9789"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_delay </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>millis</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Delays for the specified number of milliseconds. Uses nanosleep(), and therefore does not use CPU until the time is up. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">millis</td><td>Delay in milliseconds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae49c7d58397edb0200d171c8a47b272b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_delayMicroseconds </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>micros</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Delays for the specified number of microseconds. Uses nanosleep(), and therefore does not use CPU until the time is up. However, you are at the mercy of nanosleep(). From the manual for nanosleep: If the interval specified in req is not an exact multiple of the granularity underlying clock (see time(7)), then the interval will be rounded up to the next multiple. Furthermore, after the sleep com- pletes, there may still be a delay before the CPU becomes free to once again execute the calling thread. For times less than about 450 microseconds, uses a busy wait on a high resolution timer. It is reported that a delay of 0 microseconds on RaspberryPi will in fact result in a dleay of about 80 microseconds. Your mileage may vary. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">micros</td><td>Delay in microseconds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7e1f1686b60043c00327255e523d98f6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_afen </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable Asynchronous Falling Edge Detect Enable for the specified pin. When a falling edge is detected, sets the appropriate pin in Event Detect Status. Asynchronous means the incoming signal is not sampled by the system clock. As such falling edges of very short duration can be detected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga7e1f1686b60043c00327255e523d98f6_cgraph.png" border="0" usemap="#group__gpio_ga7e1f1686b60043c00327255e523d98f6_cgraph" alt=""/></div>
<map name="group__gpio_ga7e1f1686b60043c00327255e523d98f6_cgraph" id="group__gpio_ga7e1f1686b60043c00327255e523d98f6_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="205,31,376,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="425,5,575,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="425,56,575,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gaa77a0e0d39a6b4423419a16055ce71cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_aren </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable Asynchronous Rising Edge Detect Enable for the specified pin. When a rising edge is detected, sets the appropriate pin in Event Detect Status. Asynchronous means the incoming signal is not sampled by the system clock. As such rising edges of very short duration can be detected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gaa77a0e0d39a6b4423419a16055ce71cc_cgraph.png" border="0" usemap="#group__gpio_gaa77a0e0d39a6b4423419a16055ce71cc_cgraph" alt=""/></div>
<map name="group__gpio_gaa77a0e0d39a6b4423419a16055ce71cc_cgraph" id="group__gpio_gaa77a0e0d39a6b4423419a16055ce71cc_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="205,31,376,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="425,5,575,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="425,56,575,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gafea3acccb00e21160b510f440a33e5e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the specified pin output to LOW. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__gpio.html#ga22f9b05d8edda3ef57cd58728e9c3baa">bcm2835_gpio_write()</a> </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gafea3acccb00e21160b510f440a33e5e0_cgraph.png" border="0" usemap="#group__gpio_gafea3acccb00e21160b510f440a33e5e0_cgraph" alt=""/></div>
<map name="group__gpio_gafea3acccb00e21160b510f440a33e5e0_cgraph" id="group__gpio_gafea3acccb00e21160b510f440a33e5e0_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="193,5,343,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga8ec8bf224e25ed395d4eecf3ad308ca3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr_afen </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable Asynchronous Falling Edge Detect Enable for the specified pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga8ec8bf224e25ed395d4eecf3ad308ca3_cgraph.png" border="0" usemap="#group__gpio_ga8ec8bf224e25ed395d4eecf3ad308ca3_cgraph" alt=""/></div>
<map name="group__gpio_ga8ec8bf224e25ed395d4eecf3ad308ca3_cgraph" id="group__gpio_ga8ec8bf224e25ed395d4eecf3ad308ca3_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="227,31,397,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="447,5,596,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="446,56,597,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga6f3e122871853b34d97b65284cf7cc47"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr_aren </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable Asynchronous Rising Edge Detect Enable for the specified pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga6f3e122871853b34d97b65284cf7cc47_cgraph.png" border="0" usemap="#group__gpio_ga6f3e122871853b34d97b65284cf7cc47_cgraph" alt=""/></div>
<map name="group__gpio_ga6f3e122871853b34d97b65284cf7cc47_cgraph" id="group__gpio_ga6f3e122871853b34d97b65284cf7cc47_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="227,31,397,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="447,5,596,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="446,56,597,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga196b61d8bf334be6acec590de6dc8f88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr_fen </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable Falling Edge Detect Enable for the specified pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga196b61d8bf334be6acec590de6dc8f88_cgraph.png" border="0" usemap="#group__gpio_ga196b61d8bf334be6acec590de6dc8f88_cgraph" alt=""/></div>
<map name="group__gpio_ga196b61d8bf334be6acec590de6dc8f88_cgraph" id="group__gpio_ga196b61d8bf334be6acec590de6dc8f88_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="219,31,389,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="439,5,588,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="438,56,589,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga3c3b5297f5c2aeb5d2046a5b6de15d96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr_hen </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable High Detect Enable for the specified pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga3c3b5297f5c2aeb5d2046a5b6de15d96_cgraph.png" border="0" usemap="#group__gpio_ga3c3b5297f5c2aeb5d2046a5b6de15d96_cgraph" alt=""/></div>
<map name="group__gpio_ga3c3b5297f5c2aeb5d2046a5b6de15d96_cgraph" id="group__gpio_ga3c3b5297f5c2aeb5d2046a5b6de15d96_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="224,31,395,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="444,5,593,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="443,56,594,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gac3b51f656f5495dad715ff3c01417aea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr_len </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable Low Detect Enable for the specified pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gac3b51f656f5495dad715ff3c01417aea_cgraph.png" border="0" usemap="#group__gpio_gac3b51f656f5495dad715ff3c01417aea_cgraph" alt=""/></div>
<map name="group__gpio_gac3b51f656f5495dad715ff3c01417aea_cgraph" id="group__gpio_gac3b51f656f5495dad715ff3c01417aea_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="219,31,389,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="439,5,588,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="438,56,589,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gaa5826edb1b17dd9095fa3bcae5ded485"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_clr_ren </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable Rising Edge Detect Enable for the specified pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gaa5826edb1b17dd9095fa3bcae5ded485_cgraph.png" border="0" usemap="#group__gpio_gaa5826edb1b17dd9095fa3bcae5ded485_cgraph" alt=""/></div>
<map name="group__gpio_gaa5826edb1b17dd9095fa3bcae5ded485_cgraph" id="group__gpio_gaa5826edb1b17dd9095fa3bcae5ded485_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="219,31,389,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="439,5,588,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="438,56,589,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga41128b1ec95d00329f7f399b56b59c19"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t bcm2835_gpio_eds </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Event Detect Status. Tests whether the specified pin has detected a level or edge as requested by <a class="el" href="group__gpio.html#ga5b70fa96491b9b1d9b3fb21bfefe2fd7">bcm2835_gpio_ren()</a>, <a class="el" href="group__gpio.html#gac9ea2f8c63f0330f12e1b24444d92e50">bcm2835_gpio_fen()</a>, <a class="el" href="group__gpio.html#ga2cb94aef80b49335057e338d71e46608">bcm2835_gpio_hen()</a>, <a class="el" href="group__gpio.html#ga8e990d48db929445ac3e899ca0f5ed07">bcm2835_gpio_len()</a>, <a class="el" href="group__gpio.html#gaa77a0e0d39a6b4423419a16055ce71cc">bcm2835_gpio_aren()</a>, <a class="el" href="group__gpio.html#ga7e1f1686b60043c00327255e523d98f6">bcm2835_gpio_afen()</a>. Clear the flag for a given pin by calling bcm2835_gpio_set_eds(pin); </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>HIGH if the event detect status for th given pin is true. </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga41128b1ec95d00329f7f399b56b59c19_cgraph.png" border="0" usemap="#group__gpio_ga41128b1ec95d00329f7f399b56b59c19_cgraph" alt=""/></div>
<map name="group__gpio_ga41128b1ec95d00329f7f399b56b59c19_cgraph" id="group__gpio_ga41128b1ec95d00329f7f399b56b59c19_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="200,5,349,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gac9ea2f8c63f0330f12e1b24444d92e50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_fen </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable Falling Edge Detect Enable for the specified pin. When a falling edge is detected, sets the appropriate pin in Event Detect Status. The GPRENn registers use synchronous edge detection. This means the input signal is sampled using the system clock and then it is looking for a ?100? pattern on the sampled signal. This has the effect of suppressing glitches. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gac9ea2f8c63f0330f12e1b24444d92e50_cgraph.png" border="0" usemap="#group__gpio_gac9ea2f8c63f0330f12e1b24444d92e50_cgraph" alt=""/></div>
<map name="group__gpio_gac9ea2f8c63f0330f12e1b24444d92e50_cgraph" id="group__gpio_gac9ea2f8c63f0330f12e1b24444d92e50_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="197,31,368,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="417,5,567,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="417,56,567,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gaf866b136c0a9fd4cca4065ce51eb4495"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_fsel </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the Function Select register for the given pin, which configures the pin as Input, Output or one of the 6 alternate functions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from RPiGPIOPin. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Mode to set the pin to, one of BCM2835_GPIO_FSEL_* from <a class="el" href="group__constants.html#ga485a5a69e864565b0cd18b33ae1f59f2">bcm2835FunctionSelect</a> </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gaf866b136c0a9fd4cca4065ce51eb4495_cgraph.png" border="0" usemap="#group__gpio_gaf866b136c0a9fd4cca4065ce51eb4495_cgraph" alt=""/></div>
<map name="group__gpio_gaf866b136c0a9fd4cca4065ce51eb4495_cgraph" id="group__gpio_gaf866b136c0a9fd4cca4065ce51eb4495_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="200,31,371,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="420,5,569,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="419,56,570,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga2cb94aef80b49335057e338d71e46608"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_hen </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable High Detect Enable for the specified pin. When a HIGH level is detected on the pin, sets the appropriate pin in Event Detect Status. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga2cb94aef80b49335057e338d71e46608_cgraph.png" border="0" usemap="#group__gpio_ga2cb94aef80b49335057e338d71e46608_cgraph" alt=""/></div>
<map name="group__gpio_ga2cb94aef80b49335057e338d71e46608_cgraph" id="group__gpio_ga2cb94aef80b49335057e338d71e46608_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="200,31,371,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="420,5,569,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="419,56,570,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga8e990d48db929445ac3e899ca0f5ed07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_len </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable Low Detect Enable for the specified pin. When a LOW level is detected on the pin, sets the appropriate pin in Event Detect Status. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga8e990d48db929445ac3e899ca0f5ed07_cgraph.png" border="0" usemap="#group__gpio_ga8e990d48db929445ac3e899ca0f5ed07_cgraph" alt=""/></div>
<map name="group__gpio_ga8e990d48db929445ac3e899ca0f5ed07_cgraph" id="group__gpio_ga8e990d48db929445ac3e899ca0f5ed07_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="197,31,368,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="417,5,567,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="417,56,567,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga693becf47034d3b2d8ed0ac4e74de173"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t bcm2835_gpio_lev </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads the current level on the specified pin and returns either HIGH or LOW. Works whether or not the pin is an input or an output. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the current level either HIGH or LOW </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga693becf47034d3b2d8ed0ac4e74de173_cgraph.png" border="0" usemap="#group__gpio_ga693becf47034d3b2d8ed0ac4e74de173_cgraph" alt=""/></div>
<map name="group__gpio_ga693becf47034d3b2d8ed0ac4e74de173_cgraph" id="group__gpio_ga693becf47034d3b2d8ed0ac4e74de173_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="195,5,344,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gaba51cd52ba75cbc9b03f3d629ad931a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t bcm2835_gpio_pad </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>group</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads and returns the Pad Control for the given GPIO group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">group</td><td>The GPIO pad group number, one of BCM2835_PAD_GROUP_GPIO_* </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Mask of bits from BCM2835_PAD_* from <a class="el" href="group__constants.html#gaad545896af4bfd6aa8fe3c252cccb60f">bcm2835PadGroup</a> </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gaba51cd52ba75cbc9b03f3d629ad931a1_cgraph.png" border="0" usemap="#group__gpio_gaba51cd52ba75cbc9b03f3d629ad931a1_cgraph" alt=""/></div>
<map name="group__gpio_gaba51cd52ba75cbc9b03f3d629ad931a1_cgraph" id="group__gpio_gaba51cd52ba75cbc9b03f3d629ad931a1_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="200,5,349,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga03b93e27d85686cc295f46d34776c57f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_pud </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pud</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the Pull-up/down register for the given pin. This is used with <a class="el" href="group__gpio.html#ga260327891497441ac1498f3280c055ed">bcm2835_gpio_pudclk()</a> to set the Pull-up/down resistor for the given pin. However, it is usually more convenient to use <a class="el" href="group__gpio.html#gaa69ba311c1cde834d8a2beb8ab5f745a">bcm2835_gpio_set_pud()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pud</td><td>The desired Pull-up/down mode. One of BCM2835_GPIO_PUD_* from bcm2835PUDControl </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__gpio.html#gaa69ba311c1cde834d8a2beb8ab5f745a">bcm2835_gpio_set_pud()</a> </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga03b93e27d85686cc295f46d34776c57f_cgraph.png" border="0" usemap="#group__gpio_ga03b93e27d85686cc295f46d34776c57f_cgraph" alt=""/></div>
<map name="group__gpio_ga03b93e27d85686cc295f46d34776c57f_cgraph" id="group__gpio_ga03b93e27d85686cc295f46d34776c57f_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="201,5,351,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga260327891497441ac1498f3280c055ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_pudclk </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>on</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Clocks the Pull-up/down value set earlier by <a class="el" href="group__gpio.html#ga03b93e27d85686cc295f46d34776c57f">bcm2835_gpio_pud()</a> into the pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">on</td><td>HIGH to clock the value from <a class="el" href="group__gpio.html#ga03b93e27d85686cc295f46d34776c57f">bcm2835_gpio_pud()</a> into the pin. LOW to remove the clock. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__gpio.html#gaa69ba311c1cde834d8a2beb8ab5f745a">bcm2835_gpio_set_pud()</a> </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga260327891497441ac1498f3280c055ed_cgraph.png" border="0" usemap="#group__gpio_ga260327891497441ac1498f3280c055ed_cgraph" alt=""/></div>
<map name="group__gpio_ga260327891497441ac1498f3280c055ed_cgraph" id="group__gpio_ga260327891497441ac1498f3280c055ed_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="219,5,370,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga5b70fa96491b9b1d9b3fb21bfefe2fd7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_ren </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable Rising Edge Detect Enable for the specified pin. When a rising edge is detected, sets the appropriate pin in Event Detect Status. The GPRENn registers use synchronous edge detection. This means the input signal is sampled using the system clock and then it is looking for a ?011? pattern on the sampled signal. This has the effect of suppressing glitches. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga5b70fa96491b9b1d9b3fb21bfefe2fd7_cgraph.png" border="0" usemap="#group__gpio_ga5b70fa96491b9b1d9b3fb21bfefe2fd7_cgraph" alt=""/></div>
<map name="group__gpio_ga5b70fa96491b9b1d9b3fb21bfefe2fd7_cgraph" id="group__gpio_ga5b70fa96491b9b1d9b3fb21bfefe2fd7_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga01949a6285305f38ce0a47154e55c1b6" title="bcm2835_peri_set_bits" alt="" coords="197,31,368,57"/><area shape="rect" id="node3" href="group__lowlevel.html#ga5f242135f5088f8c319492426a1ed5e3" title="bcm2835_peri_read" alt="" coords="417,5,567,32"/><area shape="rect" id="node4" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="417,56,567,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga2edcdd8eecf3a004ea771669c4e66959"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_set </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the specified pin output to HIGH. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__gpio.html#ga22f9b05d8edda3ef57cd58728e9c3baa">bcm2835_gpio_write()</a> </dd></dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga2edcdd8eecf3a004ea771669c4e66959_cgraph.png" border="0" usemap="#group__gpio_ga2edcdd8eecf3a004ea771669c4e66959_cgraph" alt=""/></div>
<map name="group__gpio_ga2edcdd8eecf3a004ea771669c4e66959_cgraph" id="group__gpio_ga2edcdd8eecf3a004ea771669c4e66959_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="198,5,349,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gabc7458bd0de6fb2de781c8337c1cffb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_set_eds </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the Event Detect Status register for a given pin to 1, which has the effect of clearing the flag. Use this afer seeing an Event Detect Status on the pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gabc7458bd0de6fb2de781c8337c1cffb1_cgraph.png" border="0" usemap="#group__gpio_gabc7458bd0de6fb2de781c8337c1cffb1_cgraph" alt=""/></div>
<map name="group__gpio_gabc7458bd0de6fb2de781c8337c1cffb1_cgraph" id="group__gpio_gabc7458bd0de6fb2de781c8337c1cffb1_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="227,5,378,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gac69a029acceb17691826650d8f188cd8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_set_pad </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>group</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>control</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the Pad Control for the given GPIO group. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">group</td><td>The GPIO pad group number, one of BCM2835_PAD_GROUP_GPIO_* </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">control</td><td>Mask of bits from BCM2835_PAD_* from <a class="el" href="group__constants.html#gaad545896af4bfd6aa8fe3c252cccb60f">bcm2835PadGroup</a> </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gac69a029acceb17691826650d8f188cd8_cgraph.png" border="0" usemap="#group__gpio_gac69a029acceb17691826650d8f188cd8_cgraph" alt=""/></div>
<map name="group__gpio_gac69a029acceb17691826650d8f188cd8_cgraph" id="group__gpio_gac69a029acceb17691826650d8f188cd8_cgraph">
<area shape="rect" id="node2" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="230,5,381,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="gaa69ba311c1cde834d8a2beb8ab5f745a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_set_pud </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pud</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the Pull-up/down mode for the specified pin. This is more convenient than clocking the mode in with <a class="el" href="group__gpio.html#ga03b93e27d85686cc295f46d34776c57f">bcm2835_gpio_pud()</a> and <a class="el" href="group__gpio.html#ga260327891497441ac1498f3280c055ed">bcm2835_gpio_pudclk()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pud</td><td>The desired Pull-up/down mode. One of BCM2835_GPIO_PUD_* from bcm2835PUDControl </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_gaa69ba311c1cde834d8a2beb8ab5f745a_cgraph.png" border="0" usemap="#group__gpio_gaa69ba311c1cde834d8a2beb8ab5f745a_cgraph" alt=""/></div>
<map name="group__gpio_gaa69ba311c1cde834d8a2beb8ab5f745a_cgraph" id="group__gpio_gaa69ba311c1cde834d8a2beb8ab5f745a_cgraph">
<area shape="rect" id="node2" href="group__gpio.html#ga03b93e27d85686cc295f46d34776c57f" title="bcm2835_gpio_pud" alt="" coords="239,5,385,32"/><area shape="rect" id="node4" href="group__gpio.html#ga260327891497441ac1498f3280c055ed" title="bcm2835_gpio_pudclk" alt="" coords="230,56,394,83"/><area shape="rect" id="node3" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="443,31,594,57"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ga22f9b05d8edda3ef57cd58728e9c3baa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bcm2835_gpio_write </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>on</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the output state of the specified pin </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO number, or one of RPI_GPIO_P1_* from <a class="el" href="group__constants.html#ga63c029bd6500167152db4e57736d0939">RPiGPIOPin</a>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">on</td><td>HIGH sets the output to HIGH and LOW to LOW. </td></tr>
  </table>
  </dd>
</dl>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__gpio_ga22f9b05d8edda3ef57cd58728e9c3baa_cgraph.png" border="0" usemap="#group__gpio_ga22f9b05d8edda3ef57cd58728e9c3baa_cgraph" alt=""/></div>
<map name="group__gpio_ga22f9b05d8edda3ef57cd58728e9c3baa_cgraph" id="group__gpio_ga22f9b05d8edda3ef57cd58728e9c3baa_cgraph">
<area shape="rect" id="node2" href="group__gpio.html#ga2edcdd8eecf3a004ea771669c4e66959" title="bcm2835_gpio_set" alt="" coords="209,5,351,32"/><area shape="rect" id="node4" href="group__gpio.html#gafea3acccb00e21160b510f440a33e5e0" title="bcm2835_gpio_clr" alt="" coords="211,56,349,83"/><area shape="rect" id="node3" href="group__lowlevel.html#ga639da6963ab76e3109b9909f3a9e6171" title="bcm2835_peri_write" alt="" coords="401,31,551,57"/></map>
</div>
</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 16 2013 16:20:03 for RaspBerryPi power control by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>
